home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / C / Applications / MacPerl 5.0.3 / MacPerl Source ƒ / Perl5 / ext / DynaLoader / Makefile < prev    next >
Encoding:
Makefile  |  1995-08-23  |  5.3 KB  |  190 lines  |  [TEXT/MPS ]

  1. # This Makefile is for the DynaLoader extension to perl.
  2. #
  3.  
  4. # --- MakeMaker post_initialize section:
  5.  
  6.  
  7. # --- MakeMaker constants section:
  8.  
  9. NAME = DynaLoader
  10.  
  11. # Perl library to use when building the extension
  12. PERL_LIB = :::lib:
  13.  
  14. # Where is the perl source code located? (Eventually we should
  15. # be able to build extensions without requiring the perl source
  16. # but that's a way off yet).
  17. PERL_SRC = :::
  18. # Perl header files (will eventually be under PERL_LIB)
  19. PERL_INC = :::
  20. # Perl binaries
  21. PERL = :::miniperl
  22.  
  23. # FULLEXT = Pathname for extension directory (eg DBD/Oracle).
  24. # BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT.
  25. # ROOTEXT = Directory part of FULLEXT with leading slash (eg /DBD)
  26. FULLEXT = DynaLoader
  27. BASEEXT = DynaLoader
  28. ROOTEXT = 
  29.  
  30. # Source code:
  31. XS= dl_aix.xs ∂
  32.     dl_dld.xs ∂
  33.     dl_dlopen.xs ∂
  34.     dl_hpux.xs ∂
  35.     dl_mac.xs ∂
  36.     dl_next.xs ∂
  37.     dl_none.xs ∂
  38.     dl_vms.xs
  39. C = dl_aix.c ∂
  40.     dl_dld.c ∂
  41.     dl_dlopen.c ∂
  42.     dl_hpux.c ∂
  43.     dl_mac.c ∂
  44.     dl_next.c ∂
  45.     dl_none.c ∂
  46.     dl_vms.c ∂
  47.     dlutils.c
  48. H = 
  49.  
  50. PPCEXT = .c.o.PPC
  51. PPCOBJ = DynaLoader{PPCEXT}
  52. M68KEXT = .c.o.68K
  53. M68KOBJ = DynaLoader{M68KEXT}
  54.  
  55. # This extension may link to it's own library (see SDBM_File)
  56. MYEXTLIB = 
  57.  
  58. # Where is the Config.pm that we are using/depend on
  59. CONFIGDEP = {PERL_ARCHLIB}Config.pm
  60.  
  61. # Where to put things:
  62. INST_LIBDIR     = {PERL_LIB}{ROOTEXT}
  63. INST_AUTODIR     = {PERL_LIB}auto:{FULLEXT}
  64.  
  65. INST_BOOT    = {INST_AUTODIR}{BASEEXT}.bs
  66. INST_DYNAMIC = {INST_AUTODIR}{BASEEXT}
  67. INST_STATIC  = {BASEEXT}.o
  68. INST_PM          = {INST_LIBDIR}DynaLoader.pm
  69.  
  70.  
  71. # These definitions are from config.mac (via :::lib:Config.pm)
  72. PerlOption    = -sym on -d MULTIPLICITY -d DEBUGGING
  73. COptions     = -mc68020 -model far
  74. PPCCOptions = -d macintosh -d __useAppleExts__
  75. LOptions     = -mf -w
  76. ROptions     = -i :
  77. CC68K         = MWC68K {PerlOption}
  78. CCPPC         = MWCPPC {PerlOption}
  79.  
  80. # Usage: {AUTOSPLITFILE} FileToSplit AutoDirToSplitInto
  81. AUTOSPLITFILE = {PERL} -I{PERL_LIB} -e 'use AutoSplit; AutoSplit::autosplit_file(${ARGV}[0], ${ARGV}[1], 0, 1, 1) ;'
  82.  
  83.  
  84. # --- MakeMaker tool_xsubpp section:
  85.  
  86. XSUBPP = {PERL_SRC}ext:xsubpp
  87. XSUBPPDEPS = {PERL_SRC}ext:typemap typemap
  88. XSUBPPARGS = -typemap {PERL_SRC}ext:typemap -typemap typemap
  89.  
  90.  
  91. # --- MakeMaker tools_other section:
  92.  
  93. # The following is a portable way to say mkdir -p
  94. MKPATH = {PERL} -wle '$"="/"; foreach $p (@ARGV){ my(@p); foreach(split(/:/,$p)){ push(@p,${_}); next if -d "@p"; print "mkdir @p"; mkdir("@p",0777)||die $! }} exit 0;'
  95.  
  96.  
  97. # --- MakeMaker c_o section:
  98.  
  99. .c.o.68Kƒ    .c
  100.     {CC68K} {COptions} -i {PERL_INC} {INC} {Default}.c -o {Default}.c.o.68K
  101. .c.o.PPCƒ    .c
  102.     {CCPPC} {PPCCOptions} -i {PERL_INC} {INC} {Default}.c -o {Default}.c.o.PPC
  103.  
  104.  
  105. # --- MakeMaker xs_c section:
  106.  
  107. .c ƒ .xs
  108.     {PERL} {XSUBPP} {XSUBPPARGS} {Default}.xs >xstmp.c && Rename -y xstmp.c {Default}.c
  109.  
  110.  
  111. # --- MakeMaker top_targets section:
  112.  
  113. all ƒ static {INST_PM}
  114.  
  115. install ƒ all
  116.  
  117. # --- MakeMaker static section:
  118.  
  119. # {INST_PM} has been moved to the all: target.
  120. # It remains here for awhile to allow for old usage: "make static"
  121. static ƒ {INST_STATIC}.PPC {INST_STATIC}.68K {INST_PM} 
  122.  
  123. {INST_STATIC}.PPCƒ {PPCOBJ}
  124.     MWLinkPPC -sym on -o {INST_STATIC}.PPC -xm library {PPCOBJ}
  125. {INST_STATIC}.68Kƒ {M68KOBJ}
  126.     MWLink68K -sym on -o {INST_STATIC}.68K -xm library {M68KOBJ}
  127.     
  128. # --- MakeMaker installpm section:
  129.  
  130. # installpm: DynaLoader.pm => {INST_LIBDIR}DynaLoader.pm, splitlib={INST_LIBDIR}
  131.  
  132. {INST_LIBDIR}DynaLoader.pmƒ DynaLoader.pm
  133.     Delete -y {INST_LIBDIR}DynaLoader.pm
  134.     Duplicate DynaLoader.pm {INST_LIBDIR}DynaLoader.pm
  135.     {AUTOSPLITFILE} {INST_LIBDIR}DynaLoader.pm {INST_LIBDIR}auto
  136.  
  137.  
  138. clean ƒ
  139. #    rm -f *~ t/*~ *.o *.a mon.out core so_locations {BOOTSTRAP} {BASEEXT}.bso
  140. #    rm -rf dl_next.c dl_none.c dl_mac.c dl_aix.c dl_dlopen.c dl_dld.c dl_hpux.c dl_vms.c DynaLoader.c
  141.  
  142.  
  143. # --- MakeMaker realclean section:
  144.  
  145. # Delete temporary files (via clean) and also delete installed files
  146. #realclean purge ::  clean
  147. #    rm -f Makefile {INST_DYNAMIC} {INST_STATIC} {INST_BOOT} {INST_PM}
  148. #    rm -rf {INST_AUTODIR} {INST_ARCHAUTODIR}
  149.  
  150.  
  151. # --- MakeMaker distclean section:
  152.  
  153. # distclean:     clean
  154. #     @:
  155. #     rm -f ./Makefile
  156. # #     cd ..; tar cvf {DISTNAME}-{VERSION}.tar {BASEEXT}
  157. #    cd ..; compress {DISTNAME}-{VERSION}.tar
  158. #     @:
  159.  
  160.  
  161. # --- MakeMaker test section:
  162.  
  163. # test :: all
  164. #     @echo 'No tests defined for {NAME} extension.'
  165.  
  166.  
  167. # --- MakeMaker install section:
  168.  
  169. # install :: all
  170.     # install is not defined. Makefile, by default, builds the extension
  171.     # directly into {INST_LIB} so "installing" does not make much sense.
  172.     # If INST_LIB is in the perl source tree then installperl will install
  173.     # the extension when it installs perl.
  174.  
  175.  
  176. # --- MakeMaker force section:
  177. # Phony target to force checking subdirectories.
  178. # FORCE:
  179.  
  180.  
  181. # --- MakeMaker perldepend section:
  182.  
  183. PERL_HDRS = {PERL_INC}EXTERN.h {PERL_INC}INTERN.h ∂
  184.     {PERL_INC}XSUB.h    {PERL_INC}av.h    {PERL_INC}cop.h ∂
  185.     {PERL_INC}cv.h    {PERL_INC}dosish.h    {PERL_INC}embed.h ∂
  186.     {PERL_INC}form.h    {PERL_INC}gv.h    {PERL_INC}handy.h ∂
  187.     {PERL_INC}hv.h    {PERL_INC}keywords.h    {PERL_INC}mg.h ∂
  188.     {PERL_INC}op.h    {PERL_INC}opcode.h    {PERL_INC}patchlevel.h ∂
  189.     {PERL_INC}perl.h    {PERL_INC}perly.h    {PERL_INC}pp.h ∂
  190.     {PERL_INC}proto.h    {PERL_INC}regcomp.h    {PE